package cc.comac.saic.hkhy.jsrj.gj.inttools.constant;

import lombok.AllArgsConstructor;
import lombok.Getter;

@AllArgsConstructor
@Getter
public enum FileType {
    /**
     * 文件类型:
     * hlr-model -> 高层需求模型;
     * hlr-consistency -> 高层需求建模一致性检查报告;
     * archi-model -> 架构模型;
     * control-model -> 控制软件模型;
     * display-model -> 显示软件模型;
     * control-code -> 控制软件模型生成代码;
     * display-code -> 显示软件模型生成代码;
     * impl-code -> 工程代码;
     * test-case -> 测试案例;
     * static-report -> 静态分析报告;
     * instr-code -> 插桩代码;
     * test-report -> 测试报告
     */
    HLR_MODEL("hlr-model", "高层需求模型"),
    HLR_CONSISTENCY("hlr-consistency", "高层需求建模一致性检查报告"),
    ARCHI_MODEL("archi-model", "架构模型"),
    CONTROL_MODEL("control-model", "控制软件模型"),
    DISPLAY_MODEL("display-model", "显示软件模型"),
    CONTROL_CODE("control-code", "控制软件模型生成代码"),
    DISPLAY_CODE("display-code", "显示软件模型生成代码"),
    IMPL_CODE("impl-code", "工程代码"),
    TEST_CASE("test-case", "测试案例"),
    STATIC_REPORT("static-report", "静态分析报告"),
    INSTR_CODE("instr-code", "插桩代码"),
    TEST_REPORT("test-report", "测试报告");


    private final String code;
    private final String name;

    public static FileType getFileTypeByCode(String code) {
        for (FileType fileType : FileType.values()) {
            if (fileType.getCode().equals(code)) {
                return fileType;
            }
        }
        return null;
    }
}
